A Practical Approach to Type Inference for EuLisp
نویسندگان
چکیده
Lisp applications need to show a reasonable cost-beneet relationship between the ooered expressiveness and their demand for storage and run-time. Drawbacks in eeciency, apparent in Lisp as a dynamically typed programming language, can be avoided by optimizations. Statically inferred type information can be decisive for the success of these optimizations. This paper describes a practical approach to type inference realized in a module and application compiler for EuLisp. The approach is partly related to Milner-style poly-morphic type inference, but diiers by describing functions with generic type schemes. Dependencies between argument and result types can be expressed more precisely by using generic type schemes of several lines than by using the common one-line type schemes. Generic type schemes contain types of a reened complementary lattice and bounded type variables. Besides standard and deened types so-called strategic types (e.g. singleton, zero, number-list) are combined into the type lattice. Local, global and control ow inference using generic type schemes with reened types generate precise typings of deened functions. Due to module compilation, inferred type schemes of exported functions can be stored in export interfaces, so they may be reused when imported elsewhere.
منابع مشابه
Balanced Scorecard with Fuzzy Inference as a Performance Measurement in an Automotive Manufacturing line
In recent years, the balanced score card (BSC) has been the focus of considerable methodology for strategic cost management in management accounting area since it was originally proposed by Kaplan ,R.S. and Norton, D.P. in 1992. BSC is an approach to performance measurement based on both financial and nonfinancial information from four perspectives which are called financial, customer, inter...
متن کاملPlurals: A SIMD Extension to EuLisp
There are now several versions of Lisp for massively parallel SIMD architec-tures like the Thinking Machines Connection Machine. We describe here the extensions made to EuLisp for data-parallel programming and their implementation on a speciic platform, a MasPar MP-1. Plural EuLisp, in keeping with the rest of the language, presents a collection of simple orthogonal operators which capture the ...
متن کاملEULISP Threads: A Concurrency Toolbox
Many current high level languages have been designed with support for con-currency in mind, providing constructs for the programmer to build explicit parallelism into a program. The EuLisp threads mechanism, in conjunction with locks, and a generic event waiting operation provides a set of primitive tools with which such concurrency abstractions can be constructed. The object system (TELOS) pro...
متن کاملEuLisp in Education
We present our experience with EULISP as a teaching language, focussing on the level of the language which was speciically designed for this purpose (level-0). EULISP has been used in undergraduate and postgraduate teaching since 1990, in lectures and laboratories, where in many cases it has replaced Scheme or Common Lisp. It has been used extensively in programming courses, parallelism courses...
متن کاملA Prioritization Model for HSE Risk Assessment Using Combined Failure Mode, Effect Analysis, and Fuzzy Inference System: A Case Study in Iranian Construction Industry
The unavailability of sufficient data and uncertainty in modeling, some techniques, and decision-making processes play a significant role in many engineering and management problems. Attain to sure solutions for a problem under accurate consideration is essential. In this paper, an application of fuzzy inference system for modeling the indeterminacy involved in the problem of HSE risk assessm...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Lisp and Symbolic Computation
دوره 6 شماره
صفحات -
تاریخ انتشار 1993